package com.nmc.service.manager;


import java.util.List;

import com.nmc.service.dao.CommentsDao;
import com.nmc.service.model.Comments;


/**
 * Business Service Interface to handle communication between web and
 * persistence layer.
 */
public interface CommentsManager extends GenericManager<Comments, Long> {
    /**
     * Convenience method for testing - allows you to mock the DAO and set it on an interface.
     * @param commentsDao the CommentsDao implementation to use
     */
    void setCommentsDao(CommentsDao commentsDao);

    /**
     * Retrieves a comments by commentsId.  An exception is thrown if comments not found
     *
     * @param commentsId the identifier for the comments
     * @return Comments
     */
    Comments getComments(String commentsId);

    

    /**
     * Retrieves a list of all commentss.
     * @return List
     */
    List<Comments> getCommentss();

    /**
     * Saves a comments's information.
     *
     * @param comments the comments's information
     * @throws CommentsExistsException thrown when comments already exists
     * @return comments the updated comments object
     */
    Comments saveComments(Comments comments) ;

    /**
     * Removes a comments from the database by their commentsId
     *
     * @param commentsId the comments's id
     */
    void removeComments(String commentsId);

    
}
